package com.xebest.web.form;

import com.xebest.common.base.dto.BaseRequestDTO;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 杜春静
 */
public class XeVenFinPrepayBillForm extends BaseRequestDTO implements Serializable {


    private String userCode;

    /**
     * 预付单号
     */
    private String prepayBillNo;

    /**
     * 供应商编码
     */
    @NotNull(message = "供应商编码不能为空")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @NotNull(message = "供应商名称不能为空")
    private String supplierName;

    /**
     * 预付金额
     */
    @NotNull(message = "预付金额不能为空")
    private BigDecimal prepayAmount;

    /**
     * 预付业务： 1 整柜 2 零采 3 其他
     */
    @NotNull(message = "预付业务不能为空")
    private Integer prepayType;

    /**
     * 预付状态：1 待审核，2 审核不通过，3 财务待审核，4 财务审核不通过，5 预付中，6 预付完成
     */
    private Integer prepayStatus;


    /**
     * 开户人姓名
     */
    private String bankAccName;

    /**
     * 开户人账号
     */
    private String bankAccCard;

    /**
     * 开户银行
     */
    private String accBank;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 修改人
     */
    private String modifyUser;

    private Date createDate;

    private Date modifyDate;

    /**
     * 注意事项
     */
    @Length(max = 200, message = "密码长度不能大于6位")
    private String remark;
    /**
     * 预付的采购单号
     */
    @NotEmpty(message = "预付单关联的采购单号不能为空")
    @NotNull(message = "预付单关联的采购单号不能为空")
    private String[] purchaseCodes;
    /**
     * 付款备注
     */
    private String payRemark;
    /**
     * 打印状态
     */
    private Integer printFlag;


    private static final long serialVersionUID = 1L;


    public String getUserCode() {
        return userCode;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public String getPrepayBillNo() {
        return prepayBillNo;
    }

    public void setPrepayBillNo(String prepayBillNo) {
        this.prepayBillNo = prepayBillNo;
    }

    public String getSupplierCode() {
        return supplierCode;
    }

    public void setSupplierCode(String supplierCode) {
        this.supplierCode = supplierCode;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public BigDecimal getPrepayAmount() {
        return prepayAmount;
    }

    public void setPrepayAmount(BigDecimal prepayAmount) {
        this.prepayAmount = prepayAmount;
    }

    public Integer getPrepayType() {
        return prepayType;
    }

    public void setPrepayType(Integer prepayType) {
        this.prepayType = prepayType;
    }

    public String getBankAccName() {
        return bankAccName;
    }

    public void setBankAccName(String bankAccName) {
        this.bankAccName = bankAccName;
    }

    public String getBankAccCard() {
        return bankAccCard;
    }

    public void setBankAccCard(String bankAccCard) {
        this.bankAccCard = bankAccCard;
    }

    public String getAccBank() {
        return accBank;
    }

    public void setAccBank(String accBank) {
        this.accBank = accBank;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public String getModifyUser() {
        return modifyUser;
    }

    public void setModifyUser(String modifyUser) {
        this.modifyUser = modifyUser;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }


    /**
     * @return the purchaseCodes
     */

    public String[] getPurchaseCodes() {

        return purchaseCodes;

    }


    /**
     * @param purchaseCodes the purchaseCodes to set
     */

    public void setPurchaseCodes(String[] purchaseCodes) {

        this.purchaseCodes = purchaseCodes;

    }


    /**
     * @return the payRemark
     */

    public String getPayRemark() {

        return payRemark;

    }


    /**
     * @param payRemark the payRemark to set
     */

    public void setPayRemark(String payRemark) {

        this.payRemark = payRemark;

    }


    /**
     * @return the printFlag
     */

    public Integer getPrintFlag() {

        return printFlag;

    }


    /**
     * @param printFlag the printFlag to set
     */

    public void setPrintFlag(Integer printFlag) {

        this.printFlag = printFlag;

    }


    /**
     * @return the prepayStatus
     */

    public Integer getPrepayStatus() {

        return prepayStatus;

    }


    /**
     * @param prepayStatus the prepayStatus to set
     */

    public void setPrepayStatus(Integer prepayStatus) {

        this.prepayStatus = prepayStatus;

    }


}